/*
 * Powered By [Seven]
 * Since 2016 - 2019
 */


package com.czmh.etc.onlinepubsys.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

@Entity
@Table(name = "qr_code")
public class QrCode extends BaseModel {
	
	//alias
	public static final String TABLE_ALIAS = "QrCode";
	public static final String ALIAS_QRID = "主键id";
	public static final String ALIAS_IMGURL = "二维码图片路径";
	public static final String ALIAS_TYPE = "二维码类型：             1：临时二维码             2：永久二维码";
	public static final String ALIAS_RESTYPE = "响应方式：             1：图文消息             2：文本消息";
	public static final String ALIAS_RESCONSTENT = "响应内容：图文消息则存储media_id，文本消息则存储一段文本";
	public static final String ALIAS_STATUS = "状态：1：开启，0：关闭";
	public static final String ALIAS_SCENE = "场景值ID（字符串形式的ID）GUID生成";
	public static final String ALIAS_REMARK = "二维码场景备注";
	public static final String ALIAS_TICKET = "获取的二维码ticket";
	public static final String ALIAS_QRURL = "二维码图片解析后的地址，开发者可根据该地址自行生成需要的二维码图片";
	public static final String ALIAS_TLSCANNUM = "扫码总数";
	public static final String ALIAS_EXPIRE = "该二维码有效时间，以秒为单位。 最大不超过2592000（即30天）。";
	public static final String ALIAS_CREATETIME = "创建时间";
	public static final String ALIAS_UPDATETIME = "更新时间";
	 
	//可以直接使用: @Length(max=50,message="用户名长度不能大于50")显示错误消息
	//columns START
	@Id
	@Column(name = "qrid")
	private java.lang.String qrid;
	@Column(name = "imgurl")
	private java.lang.String imgurl;
	@Column(name = "type")
	private java.lang.Integer type;
	@Column(name = "restype")
	private java.lang.Integer restype;
	@Column(name = "resconstent")
	private java.lang.String resconstent;
	@Column(name = "status")
	private java.lang.Boolean status;
	@Column(name = "scene")
	private java.lang.String scene;
	@Column(name = "remark")
	private java.lang.String remark;
	@Column(name = "ticket")
	private java.lang.String ticket;
	@Column(name = "qrurl")
	private java.lang.String qrurl;
	@Column(name = "tlscannum")
	private java.lang.Long tlscannum;
	@Column(name = "expire")
	private java.lang.Long expire;
	@Column(name = "createtime")
	private java.util.Date createtime;
	@Column(name = "updatetime")
	private java.util.Date updatetime;
	//columns END

	public QrCode(){
	}

	public QrCode(
		java.lang.String qrid
	){
		this.qrid = qrid;
	}

	/**  
	 * 设置主键id  
	 * @param qrid 主键id  
	 */  
	public void setQrid(java.lang.String qrid) {
		this.qrid = qrid;
	}
	
	/**  
	 * 获取主键id   
	 * @return qrid 主键id   
	 */
	public java.lang.String getQrid() {
		return this.qrid;
	}
	/**  
	 * 设置二维码图片路径  
	 * @param imgurl 二维码图片路径  
	 */  
	public void setImgurl(java.lang.String imgurl) {
		this.imgurl = imgurl;
	}
	
	/**  
	 * 获取二维码图片路径   
	 * @return imgurl 二维码图片路径   
	 */
	public java.lang.String getImgurl() {
		return this.imgurl;
	}
	/**  
	 * 设置二维码类型：             1：临时二维码             2：永久二维码  
	 * @param type 二维码类型：             1：临时二维码             2：永久二维码  
	 */  
	public void setType(java.lang.Integer type) {
		this.type = type;
	}
	
	/**  
	 * 获取二维码类型：             1：临时二维码             2：永久二维码   
	 * @return type 二维码类型：             1：临时二维码             2：永久二维码   
	 */
	public java.lang.Integer getType() {
		return this.type;
	}
	/**  
	 * 设置响应方式：             1：图文消息             2：文本消息  
	 * @param restype 响应方式：             1：图文消息             2：文本消息  
	 */  
	public void setRestype(java.lang.Integer restype) {
		this.restype = restype;
	}
	
	/**  
	 * 获取响应方式：             1：图文消息             2：文本消息   
	 * @return restype 响应方式：             1：图文消息             2：文本消息   
	 */
	public java.lang.Integer getRestype() {
		return this.restype;
	}
	/**  
	 * 设置响应内容：图文消息则存储media_id，文本消息则存储一段文本  
	 * @param resconstent 响应内容：图文消息则存储media_id，文本消息则存储一段文本  
	 */  
	public void setResconstent(java.lang.String resconstent) {
		this.resconstent = resconstent;
	}
	
	/**  
	 * 获取响应内容：图文消息则存储media_id，文本消息则存储一段文本   
	 * @return resconstent 响应内容：图文消息则存储media_id，文本消息则存储一段文本   
	 */
	public java.lang.String getResconstent() {
		return this.resconstent;
	}
	/**  
	 * 设置状态：1：开启，0：关闭  
	 * @param status 状态：1：开启，0：关闭  
	 */  
	public void setStatus(java.lang.Boolean status) {
		this.status = status;
	}
	
	/**  
	 * 获取状态：1：开启，0：关闭   
	 * @return status 状态：1：开启，0：关闭   
	 */
	public java.lang.Boolean getStatus() {
		return this.status;
	}
	/**  
	 * 设置场景值ID（字符串形式的ID）GUID生成  
	 * @param scene 场景值ID（字符串形式的ID）GUID生成  
	 */  
	public void setScene(java.lang.String scene) {
		this.scene = scene;
	}
	
	/**  
	 * 获取场景值ID（字符串形式的ID）GUID生成   
	 * @return scene 场景值ID（字符串形式的ID）GUID生成   
	 */
	public java.lang.String getScene() {
		return this.scene;
	}
	/**  
	 * 设置二维码场景备注  
	 * @param remark 二维码场景备注  
	 */  
	public void setRemark(java.lang.String remark) {
		this.remark = remark;
	}
	
	/**  
	 * 获取二维码场景备注   
	 * @return remark 二维码场景备注   
	 */
	public java.lang.String getRemark() {
		return this.remark;
	}
	/**  
	 * 设置获取的二维码ticket  
	 * @param ticket 获取的二维码ticket  
	 */  
	public void setTicket(java.lang.String ticket) {
		this.ticket = ticket;
	}
	
	/**  
	 * 获取获取的二维码ticket   
	 * @return ticket 获取的二维码ticket   
	 */
	public java.lang.String getTicket() {
		return this.ticket;
	}
	/**  
	 * 设置二维码图片解析后的地址，开发者可根据该地址自行生成需要的二维码图片  
	 * @param qrurl 二维码图片解析后的地址，开发者可根据该地址自行生成需要的二维码图片  
	 */  
	public void setQrurl(java.lang.String qrurl) {
		this.qrurl = qrurl;
	}
	
	/**  
	 * 获取二维码图片解析后的地址，开发者可根据该地址自行生成需要的二维码图片   
	 * @return qrurl 二维码图片解析后的地址，开发者可根据该地址自行生成需要的二维码图片   
	 */
	public java.lang.String getQrurl() {
		return this.qrurl;
	}
	/**  
	 * 设置扫码总数  
	 * @param tlscannum 扫码总数  
	 */  
	public void setTlscannum(java.lang.Long tlscannum) {
		this.tlscannum = tlscannum;
	}
	
	/**  
	 * 获取扫码总数   
	 * @return tlscannum 扫码总数   
	 */
	public java.lang.Long getTlscannum() {
		return this.tlscannum;
	}
	/**  
	 * 设置该二维码有效时间，以秒为单位。 最大不超过2592000（即30天）。  
	 * @param expire 该二维码有效时间，以秒为单位。 最大不超过2592000（即30天）。  
	 */  
	public void setExpire(java.lang.Long expire) {
		this.expire = expire;
	}
	
	/**  
	 * 获取该二维码有效时间，以秒为单位。 最大不超过2592000（即30天）。   
	 * @return expire 该二维码有效时间，以秒为单位。 最大不超过2592000（即30天）。   
	 */
	public java.lang.Long getExpire() {
		return this.expire;
	}
	/**  
	 * 设置创建时间  
	 * @param createtime 创建时间  
	 */  
	public void setCreatetime(java.util.Date createtime) {
		this.createtime = createtime;
	}
	
	/**  
	 * 获取创建时间   
	 * @return createtime 创建时间   
	 */
	public java.util.Date getCreatetime() {
		return this.createtime;
	}
	/**  
	 * 设置更新时间  
	 * @param updatetime 更新时间  
	 */  
	public void setUpdatetime(java.util.Date updatetime) {
		this.updatetime = updatetime;
	}
	
	/**  
	 * 获取更新时间   
	 * @return updatetime 更新时间   
	 */
	public java.util.Date getUpdatetime() {
		return this.updatetime;
	}

	public String toString() {
		return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
			.append("qrid",getQrid())
			.append("imgurl",getImgurl())
			.append("type",getType())
			.append("restype",getRestype())
			.append("resconstent",getResconstent())
			.append("status",getStatus())
			.append("scene",getScene())
			.append("remark",getRemark())
			.append("ticket",getTicket())
			.append("qrurl",getQrurl())
			.append("tlscannum",getTlscannum())
			.append("expire",getExpire())
			.append("createtime",getCreatetime())
			.append("updatetime",getUpdatetime())
			.toString();
	}
	
	public int hashCode() {
		return new HashCodeBuilder()
			.append(getQrid())
			.toHashCode();
	}
	
	public boolean equals(Object obj) {
		if(obj instanceof QrCode == false) {
			return false;
		}
		if(this == obj) {
			return true;
		}
		QrCode other = (QrCode)obj;
		return new EqualsBuilder()
			.append(getQrid(),other.getQrid())
			.isEquals();
	}
}

